The present invention relates to the field of providing information over a network. More particularly, this invention relates to selectively controlling data transferred between two networks based upon protocol commands.
The Internet is comprised of many computers communicating in a standardized manner. These communications are standardized to allow applications to interoperate on behalf of the users. Client applications may communicate with other client applications or communicate with servers to get access to resources on the network. These resources may include anything from actual file data, to computational resources, to communications channels. The internet applications use these standardized protocols or methods of communications so that independently developed and deployed computers programs may work together across a campus or continent.
The Internet has many standardized protocols for accomplishing various computerized tasks. File Transfer Protocol (FTP) is utilized to move files and manipulate file systems from locations remote to the data. These files may consist of any type of data that the native file system can store. The Remote Terminal Protocol (Telnet) is used to access another computer from a remote location, but to provide the same functionality that a user would have if they were locally connected. Simple Mail Transfer Protocol (SMTP) is used to exchange email between computers. As a final example, Hypertext Transfer Protocol (HTTP) is the protocol that is used on the World Wide Web to exchange text and richer multimedia enhanced information.
A firewall is used to separate one network of computers from another. For example, a corporation that connects its internal Intranet, to the Internet may install a firewall to prevent users outside the corporation from arbitrarily accessing data stored on the computer network within the corporation. Additionally, the firewall can prevent users within the corporation from providing inappropriate data out to the Internet.
A Firewall is a specially configured computer that can interrupt the flow of communications between two or more computers. A Firewall can interpret the lower level addressing information on the communications and decide whether or not to let to the transaction complete. This addressing information may control which physical machines may be interconnected. For finer grained control, the ability to address specific applications running on a computer may also be arbitrated. This provides a secure, but relatively coarse level of access control for corporate Intranets.
A Proxy sits on top of a firewall; Proxies look at a higher level of the communications than the Firewall normally does. It is typically a process that responds and acts on behalf of, client requests. Proxies understand and have the ability to interpret the protocol that is exchanged between the opposing sides of the application. A Proxy may be used to improve performance by caching data from previous retrievals. A Proxy may look at the initial protocol requests from the communicating applications to verify their authenticity and then signal the Firewall to allow communications to proceed. In this manner, once a xe2x80x98sessionxe2x80x99 is created, no further interpretation is needed.
A method of controlling data transfer between a first network and a second network of computers is described. Active interpretation of protocol commands exchanged between the first network and the second network is done, to determine specific actions concerning completion of the protocol request. This active firewall-proxy combination may exist on either the first or second network of computers. This method of control provides centralized control and administration for all potentially reachable resources within a network.
These and other advantages of the present invention are fully described in the following detailed description.